package com.example.community.dao;

import com.example.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface DiscussPostMapper {

    //首页查询是不用传UseId的，动态sql实现
    List<DiscussPost> selectDiscussPosts(int userId, int offset, int limit,int orderMode);

    // @Param注解用于给参数取别名,
    // 如果只有一个参数,并且在<if>里使用,则必须加别名.
    int selectDiscussPostRows(@Param("userId") int userId);

    int insertDiscussPost(DiscussPost discussPost);

    DiscussPost selectDiscussPostById(int id);

    int updateCommentCount(int id,int commentCount);

    int updateType(int id, int type);

    int updateStatus(int id, int status);

    int updateScore(int id, double score);

    int selectAllPost();

    List<DiscussPost> findTopPost(int offset,int limit,int type);

    List<DiscussPost> findDeleteOrWonderfulPost(int offset,int limit,int status);

    int totalDeleteOrWonderfulPost(int status);

    int totalTopPost(int type);

    List<DiscussPost> findSomeDiscussPost(int offset,int limit,String keyword);

    int totalKeyword(String keyword);

}
